Release notes for WebAPI 3.10.0.3966

Bug fixes

  • In Collections, an FFMPEG error was generated when uploading a video or audio file via the WebAPI. Fixed in 3.9.1.3925. However, users must be certain that the uploaded video or audio file is playable in the browser before they upload it in Collections. If it isn’t, they will not be able to play or download the media file again. Collections will not give any warning about non-compliant video or audio types upon upload or storage. Users will simply need to know that they should not upload e.g. MP4 files that contain HEVC/H.265 video or other audio types than AAC. The only supported codecs in MP4 files are H.264 (aka. MPEG4 AVC) and AAC audio. And if they upload other common video or audio types such as MKV, FLV, WMV, AVI or MPG, they will have to ask Axiell to send the file if needed, if they do not have access to the file server themselves.

  • There was a NullReferenceException on a scan of a linked metadata field. This was fixed in version 3.9.1.3907.

  • The media-type attribute in the xsl:output node of a stylesheet which was used to generate WebAPI output was not used to set the content-type of that output: the output content-type would always be set to text/plain or depending on the method attribute it could be text/xml or text/html. With the fix in 3.9.1.3903, using a stylesheet that has, for example, the media-type=”text/csv” in the xsl:output node, the WebAPI now returns the proper content type.

  • The Piction plugin was loading media too slowly. Fixed in 3.9.1.3888.

  • There was a SqlException when using scan or facets on indexed linked fields. This was fixed in version 3.9.1.3850.

  • Changing the set in a listrecords request (after another request with a different set) did not retrieve records from the new set, if the <reportDeletedRecords> setting in adlibweb.xml had been set to true. The setting didn’t filter the deleted records on dataset range. That caused the inclusion of deleted records from the entire database. That has now been fixed in 3.9.1.3830 so that only deleted records in the requested range are returned.

  • A q search no longer contained the search statement in the XML diagnostics. Fixed in 3.9.1.3825.

  • For OAI protocol version 2.0, the header identifier was formatted incorrectly for verbs Identify, ListIdentifiers, GetRecord and ListRecords. The identifier was formatted like <database>:<priref> (database taken from the adlibweb.xml settings), but is now <scheme>:<namespace-identifier>:<local-identifier>, where <scheme> is always "oai", <namespace-identifier> the OAI-REPOSITORYIDENTIFIER value from adlibweb.xml and <local-identifier> the record priref. However, a new adlibweb.xml setting <OAI_PROTOCOL_VERSION>2.0</OAI_PROTOCOL_VERSION> must be set underneath the <OAIConfiguration> node to actually get the 2.0 identifiers in your OAI result. If this element is not there or has a different value than 2.0, the OAI responses will be using the old 1.0/1.1 format for the identifier elements. Fixed in version 3.9.1 3782.

  • MP4 files retrieved from AWS S3 by Axiell Collections could not be played in the Media Viewer. An error "No video with supported format and MIME type found." was generated. Fixed in 3.9.1.3772.

  • When in AIS selecting multiple facets an AdlibSqlException could occur, with the message "The query processor ran out of internal resources and could not produce a query plan". Fixed in version 3.9.1.3756.

  • OAI ignored the <defaultUser> element in adlibweb.xml. Fixed in 3.9.1.3751.

New functionality

Fotoware plugin logging added

In version 3.9.1.3870 logging for the Fotoware image plugin has been added. Also, any switching to a fallback handler should now be logged. The functionality is using the generic logging settings for the WebAPI from the global configuration.

WriteContent / POST binary support for Axiell generic Media Server plugin added

Besides the already supported GetContent functionality, the Axiell generic Media Server plugin now also supports the writing of content through the POST of a binary stream, to be able to fully use this plugin for all types of DAMS (possibly requiring authentication through a token).

In version 3.9.1.3788, therefore a new property <WriteContentUrl> has been added to the <ImagePlugin> configuration section for this plugin. For example:

<imageServerConfiguration name="generic">
<servertype>FileSystem</servertype>
<path>C:\Projects\test\media</path>
<ImagePlugin type="Axiell.GenericService.Plugin.GenericPlugin, Axiell.GenericService.Plugin">
<ServiceUrl>https://server.ourdomain.com/WebAPI/Imagehandling/wwwopac.ashx?command=getcontent&amp;server=images&amp;value=%value%</ServiceUrl>
<WriteContentUrl>https://server.ourdomain.com/WebAPI/Imagehandling/wwwopac.ashx?command=writecontent&amp;server=images&amp;value=%value%</WriteContentUrl>
<AccessToken>8b89didkfab-e166-2aa5-f3e5-b5doo49b902</AccessToken>
</ImagePlugin>
</imageServerConfiguration>

This new property is used for forwarding the uploaded content using the api's access token.